package com.tlvip.design.adapter.v1;

/**
 * <p>description：</p>
 * <p>
 * 将一个类的接口转换成客户希望的另一个接口，
 * Adapter使原本由于接口不兼容而不能在一起工作的那些类可以一起工作
 * <p>
 * 对象适配器：组合
 * <p>
 * 类适配器：继承
 *
 * <p>copyright： copyright(C)2016-2099</p>
 * <p>Life is short,we need passion</p>
 * <p>Summary： </p>
 * <p>instructions： </p>
 * Date 2021/8/14</p>
 * Author mac
 *
 * @version 1.0
 */
// 对象适配器模式
public class TestAdapter {
    public static void main(String[] args) {
        Adaptee adaptee = new Adaptee();
        Target target = new Adapter(adaptee);
        target.output5v();
    }
}

class Adaptee {
    public int output220v() {
        return 220;
    }
}

interface Target {
    int output5v();
}

class Adapter implements Target {

    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public int output5v() {
        int i = adaptee.output220v();
        System.out.println(String.format("原始电压:%d v -> 输出电压:%d v", i, 5));
        return 5;
    }
}
